package com.motong.gongdan.vo.system.AssemblyWorkOrder.vo;

import com.motong.gongdan.vo.H5Vo.Dashboard.vo.ProcessStatisticsVo;
import com.motong.gongdan.vo.system.otherVo.CustomFieldVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.List;

@Data
@Accessors(chain = true)
@ApiModel("装配工单商品详情数据")
public class AssemblyDetailProductVo {

    @ApiModelProperty(value = "详情id")
    private Long id;

    @ApiModelProperty(value = "层级编号")
    private String level;

    @ApiModelProperty(value = "父层级编号")
    private String parentLevel;

    @ApiModelProperty(value = "子产品id(多个以,号隔开)")
    private String childProductIds;

    @ApiModelProperty(value = "多个单位用量以,号隔开", hidden = true)
    private String unitUsages;

    @ApiModelProperty(value = "产品id")
    private Integer productId;

    @ApiModelProperty(value = "产品编码")
    private String productCode;

    @ApiModelProperty(value = "产品名称")
    private String productName;

    @ApiModelProperty(value = "产品规格")
    private String productSpecification;

    @ApiModelProperty(value = "产品属性")
    private String productAttribute;

    @ApiModelProperty(value = "单位")
    private String productUnit;

    @ApiModelProperty(value = "产品当前库存")
    private BigDecimal productCurrentStock;

    @ApiModelProperty(value = "产品最大库存")
    private BigDecimal productMaxStock;

    @ApiModelProperty(value = "产品最小库存")
    private BigDecimal productMinStock;

    @ApiModelProperty(value = "产品安全库存")
    private BigDecimal productSafeStock;


    @ApiModelProperty(value = "单位用量")
    private BigDecimal unitUsage;

    @ApiModelProperty(value = "数量/计划数")
    private BigDecimal planedNumber;

    @ApiModelProperty(value = "工单id")
    private Integer workOrderId;

    @ApiModelProperty(value = "工单编号")
    private String workOrderCode;

    @ApiModelProperty(value = "状态")
    private String workOrderState;

    @ApiModelProperty(value = "生产进度")
    private List<ProcessStatisticsVo> produceProgress;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "完成数")
    private BigDecimal finishNumber;

    @ApiModelProperty(value = "不良品数")
    private BigDecimal goodProductNumber;

    @ApiModelProperty(value = "不良品数")
    private BigDecimal badProductNumber;


    @ApiModelProperty(value = "工单进度")
    private BigDecimal orderProgress;

    @ApiModelProperty(value = "计划开始/计划结束时间")
    private String workOrderStartTimeAndEndTime;

    @ApiModelProperty(value = "产品自定义字段")
    private String productOther;

    @ApiModelProperty("自定义字段")
    private List<CustomFieldVo> customFieldVos;

    @ApiModelProperty("子集")
    private List<AssemblyDetailProductVo> children;

}
